package com.eshop.modules.mp.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.eshop.domain.BaseDomain;

@TableName("wechat_template")
public class WechatTemplate extends BaseDomain
{
    @TableId
    private Integer id;
    private String tempkey;
    private String name;
    private String content;
    private String tempid;
    private Integer status;
    private String type;
    
    public void copy(final WechatTemplate source) {
        BeanUtil.copyProperties((Object)source, (Object)this, CopyOptions.create().setIgnoreNullValue(true));
    }
    
    public Integer getId() {
        return this.id;
    }
    
    public String getTempkey() {
        return this.tempkey;
    }
    
    public String getName() {
        return this.name;
    }
    
    public String getContent() {
        return this.content;
    }
    
    public String getTempid() {
        return this.tempid;
    }
    
    public Integer getStatus() {
        return this.status;
    }
    
    public String getType() {
        return this.type;
    }
    
    public void setId(final Integer id) {
        this.id = id;
    }
    
    public void setTempkey(final String tempkey) {
        this.tempkey = tempkey;
    }
    
    public void setName(final String name) {
        this.name = name;
    }
    
    public void setContent(final String content) {
        this.content = content;
    }
    
    public void setTempid(final String tempid) {
        this.tempid = tempid;
    }
    
    public void setStatus(final Integer status) {
        this.status = status;
    }
    
    public void setType(final String type) {
        this.type = type;
    }
    
    public String toString() {
        return "WechatTemplate(id=" + this.getId() + ", tempkey=" + this.getTempkey() + ", name=" + this.getName() + ", content=" + this.getContent() + ", tempid=" + this.getTempid() + ", status=" + this.getStatus() + ", type=" + this.getType() + ")";
    }
    
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof WechatTemplate)) {
            return false;
        }
        final WechatTemplate other = (WechatTemplate)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (!super.equals(o)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0075: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0075;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0075;
            }
            return false;
        }
        final Object this$status = this.getStatus();
        final Object other$status = other.getStatus();
        Label_0112: {
            if (this$status == null) {
                if (other$status == null) {
                    break Label_0112;
                }
            }
            else if (this$status.equals(other$status)) {
                break Label_0112;
            }
            return false;
        }
        final Object this$tempkey = this.getTempkey();
        final Object other$tempkey = other.getTempkey();
        Label_0149: {
            if (this$tempkey == null) {
                if (other$tempkey == null) {
                    break Label_0149;
                }
            }
            else if (this$tempkey.equals(other$tempkey)) {
                break Label_0149;
            }
            return false;
        }
        final Object this$name = this.getName();
        final Object other$name = other.getName();
        Label_0186: {
            if (this$name == null) {
                if (other$name == null) {
                    break Label_0186;
                }
            }
            else if (this$name.equals(other$name)) {
                break Label_0186;
            }
            return false;
        }
        final Object this$content = this.getContent();
        final Object other$content = other.getContent();
        Label_0223: {
            if (this$content == null) {
                if (other$content == null) {
                    break Label_0223;
                }
            }
            else if (this$content.equals(other$content)) {
                break Label_0223;
            }
            return false;
        }
        final Object this$tempid = this.getTempid();
        final Object other$tempid = other.getTempid();
        Label_0260: {
            if (this$tempid == null) {
                if (other$tempid == null) {
                    break Label_0260;
                }
            }
            else if (this$tempid.equals(other$tempid)) {
                break Label_0260;
            }
            return false;
        }
        final Object this$type = this.getType();
        final Object other$type = other.getType();
        if (this$type == null) {
            if (other$type == null) {
                return true;
            }
        }
        else if (this$type.equals(other$type)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof WechatTemplate;
    }
    
    public int hashCode() {
        final int PRIME = 59;
        int result = super.hashCode();
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $status = this.getStatus();
        result = result * 59 + (($status == null) ? 43 : $status.hashCode());
        final Object $tempkey = this.getTempkey();
        result = result * 59 + (($tempkey == null) ? 43 : $tempkey.hashCode());
        final Object $name = this.getName();
        result = result * 59 + (($name == null) ? 43 : $name.hashCode());
        final Object $content = this.getContent();
        result = result * 59 + (($content == null) ? 43 : $content.hashCode());
        final Object $tempid = this.getTempid();
        result = result * 59 + (($tempid == null) ? 43 : $tempid.hashCode());
        final Object $type = this.getType();
        result = result * 59 + (($type == null) ? 43 : $type.hashCode());
        return result;
    }
}
